package dao;

import entity.User;
import org.apache.ibatis.annotations.Param;
import param.UserParam;

import java.util.List;

/**
 * Author:shixiaojun@itany.com
 * Date:2022/4/25 9:20
 * Version:1.0-SNAPSHOT
 * Description:
 */
public interface UserDao {

    public void insertUser(User user);

    public User selectById(Integer id);

    public List<User> selectAll();

    public void insertUser2(User user);

    public User selectById2(Integer id);

    public User selectById3(Integer id);

    public User selectByUsernameAndPassword(UserParam userParam);

    public User selectByUsernameAndPassword2(String username,String password);

    public User selectByUsernameAndPassword3(@Param("username") String username, @Param("password") String password);
    public List<User> selectByUsernameAndPassword4(@Param("username") String username, @Param("password") String password);

    public List<User> selectByUsername(String username);
    public List<User> selectByUsername2(String username);

    public void insertReturnPrimaryKey(User user);

    public void updateUser(User user);

    public void deleteById(Integer id);

    public List<User> selectByParams(User userParam);
    public List<User> selectByParams2(User userParam);
    public List<User> selectByParams3(User userParam);
    public List<User> selectByParams4(User userParam);

    public void updateByParams(User user);
    public void updateByParams2(User user);

    public List<User> selectByIds(List<Integer> ids);
}
